Thor se bat pour restaurer l'ordre à travers l'univers mais une ancienne race menée par le menaçant Malekith revient pour précipiter l'univers dans les ténèbres. Face à un ennemi auquel même Odin et Asgard ne peuvent résister, Thor doit s'embarquer dans son plus périlleux voyage jusqu'à ce jour, au cours duquel il retrouvera Jane Foster et sera contraint de tout sacrifier pour sauver l'humanité.a
Odin (Anthony Hopkins), roi d'Asgard, combat contre les Géants des glaces de Jotunheim et leur meneur Laufey (Colm Feore), pour les empêcher de conquérir les neuf royaumes, ceux-ci commençant par la Terre. Les guerriers d'Asgard gagnent face aux Géants et s'emparent de la source de leur puissance.
Plus tard, le fils d'Odin Thor (Chris Hemsworth) se prépare à hériter du trône d'Asgard, mais cette cérémonie est interrompue à cause de deux Géants qui tentaient de reprendre la source de leur puissance. Malgré l'interdiction d'Odin, Thor voyage vers Jotunheim pour faire face à Laufey, accompagné de son frère Loki (Tom Hiddleston), de son ami d'enfance Sif (Jaimie Alexander) et des trois guerriers ; Voltagg (Ray Stevenson), Fandrall (Joshua Dallas) et Hogun (Tadanobu Asano). Une bataille s'en suit avant qu'Odin n'intervienne pour sauver les Asgardiens. Pour avoir fait preuve d'arrogance envers son père, Thor est séparé de son pouvoir et exilé sur Terre, par Odin, sous l'apparence d'un mortel. Son marteau, Mjolnir (la source de sa puissance), est également envoyée sur terre, enfoncé dans un rocher et protégé par un enchantement.
En 1821, l'armée mexicaine est sur le point de libérer Mexico du colonialisme espagnol. Vers Las Californias, le cruel gouverneur espagnol Don Rafael Montero est sur le point d'être renversé. Dans un dernier effort pour capturer son ennemi juré, l'épéiste masqué Zorro (Anthony Hopkins), Montero prépare l'exécution de trois innocents. Avec l'assistance de deux frères orphelins, Joaquin et Alejandro Murrieta, Zorro libère les prisonniers. Il récompense les frères Murrieta en leur donnant un médaillon lui appartenant et s'échappe sur son cheval, Tornado, après avoir marqué d'un Z le cou de Montero avec son épée.
Cependant, la nuit suivante, Montero arrive à la maison de Zorro, ayant déduit que la réelle identité de Zorro est Don Diego de la Vega, un noble espagnol marié à Esperanza, la femme que Montero a toujours désirée. En essayant d'arrêter Diego, un combat s'ensuit durant lequel Esperanza est tuée en tentant de protéger Diego. La maison de Diego est brulée et sa fille, Elena est ramenée en Espagne par Montero pour être élevée comme sa propre fille alors que Diego est jeté en prison.
Vingt ans plus tard, Montero retourne secrètement en Californie, cherchant à voir Diego dans sa prison. Bien que Diego soit là, Montero ne le reconnaît pas. Diego s'échappe un peu plus tard, avec l'intention de tuer Montero le jour suivant lors de la cérémonie publique en l'honneur de son retour. Cependant, Diego se retient lorsqu'il aperçoit Elena (Catherine Zeta-Jones), devenue très belle. Elena se voit offrir un bouquet de fleurs locales, des Romagnas, dont elle reconnaît l'odeur, même si elle croit à tort n'être jamais venue en Californie.
Diego rencontre Alejandro Murrieta (Antonio Banderas) devenu adulte, qu'il reconnaît à la médaille qu'il avait offerte à Joaquin. Devenu un bandit alcoolique, Alejandro ne s'est pas remis du meurtre récent de son frère par le sadique capitaine de l'armée mexicaine Harrison Love, le commandant en chef de Montero. Diego recrute et entraîne Alejandro pour en faire son successeur.
Après son entraînement, Alejandro reprend le costume de Diego mais aussi Tornado, le cheval de Zorro. Il fait la rencontre furtive d'Elena. Cherchant à échapper au Capitaine Love, Alejandro cherche refuge dans une église, avec l'assistance du prêtre Père Felipe, un vieil ami de Zorro. Alejandro se cache dans le confessionnal où Elena révèle, croyant parler au prêtre, son engouement pour le mystérieux bandit qu'elle vient de rencontrer.
À son retour, Diego réprimande Alejandro, affirmant que Zorro est un serviteur du peuple et non un voleur et un aventurier. Diego explique à Alejandro qu'afin de gagner la confiance de Montero, il doit passer pour un gentleman de grande stature. En jouant le rôle d'un noble, avec Diego pour servant, Alejandro participe à une fête dans l'hacienda de Montero, où il gagne rapidement l'admiration d'Elena et la confiance de Montero qui l'invite à une réunion secrète. Dans cette réunion, il fait part de ses plans de reprendre la totalité de la Californie avec les Dons en l'achetant à son héros, le général Antonio López de Santa Anna.
Le jour suivant, Alejandro et les Dons sont emmenés par Montero à une mine d'or secrète connue comme l'El Dorado, où les paysans et les petits criminels sont utilisés comme travailleurs forcés. Montero révèle qu'il compte acheter la Californie à Santa Anna en utilisant de l'or extrait de sa propre mine. Pendant ce temps, Diego profite de cette opportunité pour se rapprocher d'Elena, en se faisant passer pour le serviteur Bernardo (un hommage au nom de l'associé muet de Zorro dans la série originale), apprenant que Montero a dit à Elena que sa mère est morte en couche. Plus tard, Elena fait la rencontre d'une femme qui a été sa nourrice et avait l'habitude d'accrocher des romagnas sur son lit d'enfant.
Diego autorise Alejandro, sous l'identité de Zorro, à voler la carte de la mine d'or dans l'hacienda de Montero. Après un duel avec Montero, le Capitaine Love et leurs gardes, il s'enfuit vers l'étable et est confronté à Elena qui cherche à récupérer la carte appartenant à son « père ». Alors qu'Elena montre une bonne habileté à l'épée, Zorro arrive à la vaincre et coupe son corsage avec son épée, la laissant en sous-vêtements. Après un baiser passionné, Zorro s'enfuit de l'étable et se débarrasse de ses poursuivants. Pendant ce temps, terrifiés par la réponse de Santa Anna s'il découvre qu'il est payé par son propre or, Montero et le Capitaine Love décident de détruire la mine et de tuer ses travailleurs, afin d'éliminer toute preuve. Le jour suivant, ils enferment les travailleurs dans leurs quartiers et préparent des charges explosives.
Zorro utilise la carte volée pour localiser la mine afin de libérer les travailleurs. Diego dit à Zorro de faire le travail seul afin qu'il puisse affronter Montero et récupérer sa fille Elena. Alejandro part pour la mine, se sentant trahit par la vendetta personnelle de Diego. Plus tard dans la nuit, Diego affronte Montero et lui demande de révéler sa véritable identité à Elena. Il est cependant fait prisonnier trop vite par Montero qui le menace de le tuer devant sa fille. Alors que les gardes l'escortent, Diego dit à Elena le nom des fleurs qu'elle a reconnu à son arrivée en Californie, la faisant réaliser qu'il est son vrai père. Elle libère Diego de sa cellule et ils vont à la mine.
Là-bas, Zorro empêche Love de charger l'or dans un wagon et le provoque en duel à mort. Diego empêche Montero de tirer sur Zorro et se bat en duel avec lui. Après avoir désarmé Montero, Elena lui demande d'épargner la vie de Montero. Montero en profite pour menacer Elena et blesser Diego. Zorro vainc Love à l'issue d'un long combat à l'épée. Diego, mortellement blessé, arrive également à vaincre Montero en faisant tomber un wagon plein d'or sur celui-ci, écrasant également Love par la même occasion. Elena et Alejandro, maintenant sans son masque, libèrent les travailleurs captifs avant que la mine n'explose.
Avant de mourir dans leurs bras, Diego fait la paix avec Alejandro, en lui offrant le manteau de Zorro et en lui donnant sa bénédiction pour son mariage avec Elena. Dans l'épilogue du film, Alejandro et Elena se sont mariés et ont reconstruit la maison de la Vega. Ils ont eu un fils, nommé Joaquin, en l'honneur du frère d'Alejandro.